solving matrices